// pages/maintenanceAdd/maintenanceAdd.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 船舶名称
    shipNameArr: [],
    shipNameIndex: 0,
    shipName: "",
    // 保养状态
    upkeepArr: [],
    upkeepIndex: 0,
    upkeep: "日保养",
    // 维修状态
    maintenanceArr: [],
    maintenanceIndex: 0,
    maintenance: "日常维修保养",
    // 处理状态
    dealArr: [],
    dealIndex: 0,
    deal: "巡检",
    // 设备
    equipmentArr: [],
    equipmentIndex: 0,
    equipment: "舵设备",
    // 动力设备
    powerArr: [],
    powerIndex: 0,
    power: "主动力装置",
    // 结构
    structureArr: [],
    structureIndex: 0,
    structure: "主船体",
    // 日期
    // 计划
    planDate: new Date().getFullYear() + "-" + Number(new Date().getMonth() + 1) + "-" + new Date().getDate(),
    // 安排
    arrangeDate: new Date().getFullYear() + "-" + Number(new Date().getMonth() + 1) + "-" + new Date().getDate(),
    // 计划报废
    planScrapping: "是",
    // 备注说明
    remarks: "",
    // 显示 修改按钮
    modify: true,
    // 修改id
    modifyId: null,
  },

  // 名称修改
  shipNameChange(e) {
    this.setData({
      shipNameIndex: parseInt(parseInt(e.detail.value)),
      shipName: this.data.shipNameArr[parseInt(e.detail.value)]
    })
  },

  // 保养状态
  upkeepChange(e) {
    this.setData({
      upkeepIndex: parseInt(parseInt(e.detail.value)),
      upkeep: this.data.upkeepArr[parseInt(e.detail.value)]
    })
  },

  // 维修状态
  maintenanceChange(e) {
    this.setData({
      maintenanceIndex: parseInt(parseInt(e.detail.value)),
      maintenance: this.data.maintenanceArr[parseInt(e.detail.value)]
    })
  },

  // 处理状态
  dealChange(e) {
    this.setData({
      dealIndex: parseInt(parseInt(e.detail.value)),
      deal: this.data.dealArr[parseInt(e.detail.value)]
    })
  },

  // 设备
  equipmentChange(e) {
    this.setData({
      equipmentIndex: parseInt(e.detail.value),
      equipment: this.data.equipmentArr[parseInt(e.detail.value)]
    })
  },

  // 主要设备
  powerChange(e) {
    this.setData({
      powerIndex: parseInt(e.detail.value),
      power: this.data.powerArr[parseInt(e.detail.value)]
    })
  },

  // 结构
  structureChange(e) {
    this.setData({
      structureIndex: parseInt(e.detail.value),
      structure: this.data.structureArr[parseInt(e.detail.value)]
    })
  },

  // 计划时间
  planChange(e) {
    // console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      planDate: e.detail.value
    })
  },

  // 安排时间
  arrangeChange(e) {
    // console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      arrangeDate: e.detail.value
    })
  },

  //计划报废
  planScrappingChange(e) {
    this.setData({
      planScrapping: e.detail.value
    })
  },

  // 备注说明
  remarksChange(e) {
    this.setData({
      remarks: e.detail.value
    })
  },

  // 表单提交
  maintenanceSubmit() {
    let _this = this;
    let darkBlue_shipName = _this.data.shipName; // 名称 
    let darkBlue_remarks = _this.data.remarks; // 备注说明
    if (darkBlue_shipName == '') {
      wx: wx.showToast({
        title: '默认名称无效，请选择',
        icon: 'none',
        duration: 2000
      })
      return false
    }
    else if (darkBlue_remarks == "") {
      wx: wx.showToast({
        title: '请输入备注内容',
        icon: 'error',
        duration: 2000
      })
      return false
    }
    else {
      // 云函数语法
      wx.cloud.callFunction({
        // 调用名称
        name: "setMaintainInfo",
        data: {
          darkBlue_shipName, // 名称
          darkBlue_upkeep: _this.data.upkeep, // 保养
          darkBlue_maintenance: _this.data.maintenance, //维修
          darkBlue_deal: _this.data.deal, //处理
          darkBlue_equipment: _this.data.equipment, //设备
          darkBlue_power: _this.data.power, // 动力
          darkBlue_structure: _this.data.structure, // 结构
          darkBlue_planDate: _this.data.planDate, // 计划
          darkBlue_arrangeDate: _this.data.arrangeDate, // 安排
          darkBlue_planScrapping: _this.data.planScrapping, //报废
          darkBlue_remarks, //备注
          darkBlue_upkeepIndex: _this.data.upkeepIndex, // 保养 下标
          darkBlue_maintenanceIndex: _this.data.maintenanceIndex, // 维修 下标
          darkBlue_dealIndex: _this.data.dealIndex, // 处理 下标
          darkBlue_equipmentIndex: _this.data.equipmentIndex, // 设备 下标
          darkBlue_powerIndex: _this.data.powerIndex, // 动力 下标
          darkBlue_structureIndex: _this.data.structureIndex, // 结构 下标
          darkBlue_del: false, // 删除
        },
        success: (res) => {
          console.log(res);
          wx.setStorageSync('upkeepIndex', 0);
          wx.switchTab({
            url: '/pages/upkeep/upkeep',
          })
        }
      })
    }
  },

  //修改提交
  maintenanceModifySubmit() {
    let _this = this;
    let darkBlue_shipName = _this.data.shipName; // 名称 
    let darkBlue_remarks = _this.data.remarks; // 备注说明
    let index = _this.data.modifyId; //修改ID
    if (darkBlue_remarks == "") {
      wx: wx.showToast({
        title: '请输入备注内容',
        icon: 'error',
        duration: 2000
      })
      return false
    }
    else {
      // 云函数语法
      wx.cloud.callFunction({
        name: "updateMainInfo",
        data: {
          index,
          darkBlue_shipName, // 名称
          darkBlue_upkeep: _this.data.upkeep, // 保养
          darkBlue_maintenance: _this.data.maintenance, //维修
          darkBlue_deal: _this.data.deal, //处理
          darkBlue_equipment: _this.data.equipment, //设备
          darkBlue_power: _this.data.power, // 动力
          darkBlue_structure: _this.data.structure, // 结构
          darkBlue_planDate: _this.data.planDate, // 计划
          darkBlue_arrangeDate: _this.data.arrangeDate, // 安排
          darkBlue_planScrapping: _this.data.planScrapping, //报废
          darkBlue_remarks, //备注
          darkBlue_upkeepIndex: _this.data.upkeepIndex, // 保养 下标
          darkBlue_maintenanceIndex: _this.data.maintenanceIndex, // 维修 下标
          darkBlue_dealIndex: _this.data.dealIndex, // 处理 下标
          darkBlue_equipmentIndex: _this.data.equipmentIndex, // 设备 下标
          darkBlue_powerIndex: _this.data.powerIndex, // 动力 下标
          darkBlue_structureIndex: _this.data.structureIndex, // 结构 下标
        },
        success: (res) => {
          console.log(res);
          wx.navigateBack({
            delta: 1
          })
        }
      })
    }
  },

  // 获取数据库数据
  getMaintenanceData() {
    let _this = this;
    // 云函数语法 获取名称
    let shipNameArr = [];
    wx.cloud.callFunction({
      // 需调用的云函数名
      name: 'getShipName',
      // 成功回调
      success: (res) => {
        // console.log(res.result);
        res.result.forEach(item => {
          shipNameArr.push(item.darkBlue_shipName);
        })
        _this.setData({
          shipNameArr
        })
      }
    })

    // 获取保养，维修、处理状态
    wx.cloud.callFunction({
      name: "getShipPort",
      success: (res) => {
        // 获取添加信息
        let arr = res.result.data[1];
        _this.setData({
          upkeepArr: arr.upkeep, // 保养
          maintenanceArr: arr.maintenance, //维修
          dealArr: arr.deal, // 处理
          equipmentArr: arr.equipment, // 设备
          powerArr: arr.power, // 动力
          structureArr: arr.structure, // 结构
        })
      }
    })
  },

  // 获取指定id值赋值给页面，进行修改
  maintenanceModifyVal() {
    let _this = this;
    let index = _this.data.modifyId;
    // 云函数语法
    wx.cloud.callFunction({
      // 需调用的云函数名
      name: 'queryMainInfo',
      data: {
        index
      },
      success: (res) => {
        // 包含该记录的数据
        console.log(res)
        let arr = res.result.data;
        _this.setData({
          shipName: arr.darkBlue_shipName, // 名称
          upkeep: arr.darkBlue_upkeep, // 保养
          maintenance: arr.darkBlue_maintenance, //维修
          deal: arr.darkBlue_deal, //处理
          equipment: arr.darkBlue_equipment, //设备
          power: arr.darkBlue_power, // 动力
          structure: arr.darkBlue_structure, // 结构
          planDate: arr.darkBlue_planDate, // 计划
          arrangeDate: arr.darkBlue_arrangeDate, // 安排
          planScrapping: arr.darkBlue_planScrapping, //报废
          remarks: arr.darkBlue_remarks, //备注 
          upkeepIndex: arr.darkBlue_upkeepIndex, // 保养 下标
          maintenanceIndex: arr.darkBlue_maintenanceIndex, // 维修 下标
          dealIndex: arr.darkBlue_dealIndex, // 处理 下标
          equipmentIndex: arr.darkBlue_equipmentIndex, // 设备 下标
          powerIndex: arr.darkBlue_powerIndex, // 动力 下标
          structureIndex: arr.darkBlue_structureIndex, // 结构 下标
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options);
    let _this = this;
    let modifyId = options.id;
    // 提示
    if (wx.getStorageSync('root')) {
      // 添加
      _this.getMaintenanceData();
      // 修改
      if (modifyId) {
        _this.setData({
          modify: false,
          modifyId
        })
        _this.maintenanceModifyVal();
      }
    } else {
      wx.showModal({
        title: '提示',
        content: '您没有权限',
        success(res) {
          if (res.confirm) {
            // 跳转到 登录（我的）页面
            wx.navigateBack({
              delta: 1
            })
          } else if (res.cancel) {
            // console.log('用户点击取消')
            wx.navigateBack({
              delta: 1
            })
          }
        }
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})